package com.education.service;

import com.education.pojo.HistoryScore;
import com.education.pojo.Question;
import com.education.pojo.UserError;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by Administrator on 2018/4/28.
 */
public interface WZJService {

    /**
     *
     * @param tpId
     * @return
     * 问题类的方法调用区
     */
    //(吴)根据试卷的Id查询数据库中对应试卷的题，将该数据吐到前台页面
    List<Question> queryQuestionListPage(Integer tpId);
     // (吴)根据题目ID 查询正确答案
    List<Question> queryQuestionAnswerList(Integer tpId);

    /**
     *
     * @param record
     * @return
     * 历史成绩类方法调用区
     */
    int addHistoryScoreMessage(HistoryScore record);

    List<HistoryScore> queryUserHistoryScore(Integer uId);

    /**
     *
     * @param record
     * @return
     * 用户回答错误类方法调用区
     */
    int addUserErrorMessage(UserError record);

    /**
     *
     * @param uId
     * @return
     * 根据用户ID查询本人的错题库，及错题的QID
     */
//    List<UserError> queryUserErrorQidMessage(Integer uId);
    List<UserError> queryUserErrorQidMessage(@Param("uId") Integer uId, @Param("ueCreateTime")String ueCreateTime);

    //根据QID查询用户历史错误题中是否已经存在该错题，如果存在就将最新的错误跟新以前的错题
    Integer queryUserErrorHistoryQidMessage(Integer qId, Integer uId);
//    Integer queryUserErrorHistoryQidMessage(Map map);
    //更新用户的历史错题的信息
    Integer modifyUserErrorHistoryQidMessage(UserError userError);

    /**
     * (吴)根据用户回答错误题目的ID 查询试卷的Tpid
     */
    Integer queryUserErrorTpidList(Integer qId);

    /**
     * 根据试卷ID 获得书卷名称
     */
    String queryUserErrorTpNameList(Integer tpId);

    /*
       根据用户TPID查询本试卷的QID，将查询到的QID用到错误库中去比对，是否有该错题，有就显示
     */
    List<Integer> queryQidUseUserErrorQidList(Integer tpId);

    /*
    根据q_id u_id查询该试卷的错误题的用户的答案ue_answer
     */
    String queryUeAnswerOneMessage(@Param("qId") Integer qId, @Param("uId") Integer uId,@Param("ueCreateTime")String ueCreateTime);

    /*
错题展示题，根据用户错误题的qid查询表中q_id, q_name, q_order, q_answer，q_answer_true等字段
 */
    Question queryUserErrorQuestionListMessage(Integer qId);
}
